Method and apparatus with fake fingerprint detection

ABSTRACT

A processor-implemented method includes: obtaining an enrollment fingerprint embedding vector corresponding to an enrollment fingerprint image; and generating a virtual enrollment fingerprint embedding vector, wherein the virtual enrollment fingerprint embedding vector has an environmental characteristic different from an environmental characteristic of the enrollment fingerprint image, and has a structural characteristic of the enrollment fingerprint image.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit under 35 U.S.C. § 119(a) of KoreanPatent Application No. 10-2020-0086089, filed on Jul. 13, 2020 in theKorean Intellectual Property Office, the entire disclosure of which isincorporated herein by reference for all purposes.

BACKGROUND 1. Field

The following description relates to a method and apparatus with fakefingerprint detection. For example, the following description relates toa method with generation of virtual fingerprints associated with variousenvironments and detection of a fake fingerprint based on the generatedvirtual fingerprints.

2. Description of Related Art

Fingerprint recognition technology has been used for securityverification of a user of a device. In general fingerprint recognition,user authentication or verification may be performed by obtaining afingerprint image of a user through a sensor and comparing the obtainedfingerprint image to a pre-registered fingerprint image. When a finelyfabricated fake fingerprint pattern is input to the sensor, afingerprint recognizing apparatus may not distinguish the fakefingerprint pattern from a genuine fingerprint pattern. Thus, thefingerprint recognizing apparatus may recognize the fake fingerprintpattern as a biometric fingerprint. For example, when an artificiallymade, fake fingerprint formed by a material such as rubber, silicon,gelatin, epoxy, and latex on which a fingerprint pattern is engravedmakes a contact with the sensor, the fingerprint pattern engraved onsuch a material may be recognized as a human fingerprint. Distinguishingan artificially made, fake fingerprint from a genuine human fingerprintmay be important.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

In one general aspect, a processor-implemented method includes:obtaining an enrollment fingerprint embedding vector corresponding to anenrollment fingerprint image; and generating a virtual enrollmentfingerprint embedding vector, wherein the virtual enrollment fingerprintembedding vector has an environmental characteristic different from anenvironmental characteristic of the enrollment fingerprint image, andhas a structural characteristic of the enrollment fingerprint image.

The method may further include: receiving an input fingerprint image;and determining whether an input fingerprint included in the inputfingerprint image is a fake fingerprint based on a fake fingerprintembedding vector that is provided in advance, the enrollment fingerprintembedding vector, and the virtual enrollment fingerprint embeddingvector.

The generating of the virtual enrollment fingerprint embedding vectormay include: obtaining a virtual enrollment fingerprint image byinputting the enrollment fingerprint image to an artificial neuralnetwork (ANN); and generating the virtual enrollment fingerprintembedding vector corresponding to the virtual enrollment fingerprintimage.

The generating of the virtual enrollment fingerprint embedding vectormay include generating a plurality of virtual enrollment fingerprintembedding vector sets having different environmental characteristics byinputting the enrollment fingerprint image to a plurality of artificialneural networks (ANNs).

The method may further include generating a virtual fake fingerprintembedding vector by inputting the enrollment fingerprint image to anartificial neural network (ANN).

The method may further include: receiving an input fingerprint image;and determining whether an input fingerprint included in the inputfingerprint image is a fake fingerprint, based on a fake fingerprintembedding vector that is provided in advance, the enrollment fingerprintembedding vector, the virtual enrollment fingerprint embedding vector,and the virtual fake fingerprint embedding vector.

In another general aspect, a non-transitory computer-readable storagemedium may store instructions that, when executed by a processor, causethe processor to perform the method described above.

In another general aspect, a processor-implemented method includes:receiving an input fingerprint image; and determining whether an inputfingerprint included in the input fingerprint image is a fakefingerprint, based on a fake fingerprint embedding vector, an enrollmentfingerprint embedding vector, and a virtual enrollment fingerprintembedding vector that are provided in advance, wherein the enrollmentfingerprint embedding vector is obtained based on an enrollmentfingerprint image, and the virtual enrollment fingerprint embeddingvector is generated by inputting the enrollment fingerprint image to anartificial neural network (ANN).

The virtual enrollment fingerprint embedding vector may be generated tohave an environmental characteristic different from an environmentalcharacteristic of the enrollment fingerprint image and maintain astructural characteristic of the enrollment fingerprint image.

The method may further include: obtaining an input fingerprint embeddingvector corresponding to the input fingerprint image, wherein thedetermining of whether the input fingerprint is the fake fingerprintincludes: determining a confidence value of the input fingerprintembedding vector based on the fake fingerprint embedding vector, theenrollment fingerprint embedding vector and the virtual enrollmentfingerprint embedding vector; and determining, based on the confidencevalue, whether the input fingerprint is the fake fingerprint.

The method may further include: performing user authentication based ona result of the determining of whether the input fingerprint is the fakefingerprint; and determining whether to provide a user access to one ormore features or operations of an apparatus, based on a result of theuser authentication.

In another general aspect, a non-transitory computer-readable storagemedium may store instructions that, when executed by a processor, causethe processor to perform the method described above.

In another general aspect, an apparatus includes: one or more processorsconfigured to: obtain an enrollment fingerprint embedding vectorcorresponding to an enrollment fingerprint image; and generate a virtualenrollment fingerprint embedding vector, wherein the virtual enrollmentfingerprint embedding vector has an environmental characteristicdifferent from an environmental characteristic of the enrollmentfingerprint image, and has a structural characteristic of the enrollmentfingerprint image.

The apparatus may further include: a sensor configured to receive aninput fingerprint image, wherein the one or more processors are furtherconfigured to determine whether an input fingerprint included in theinput fingerprint image is a fake fingerprint, based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, and the virtual enrollment fingerprintembedding vector.

The one or more processors may be further configured to: obtain avirtual enrollment fingerprint image by inputting the enrollmentfingerprint image to an artificial neural network (ANN); and generatethe virtual enrollment fingerprint embedding vector corresponding to thevirtual enrollment fingerprint image.

The one or more processors may be further configured to generate aplurality of virtual enrollment fingerprint embedding vector sets havingdifferent environmental characteristics by inputting the enrollmentfingerprint image to a plurality of artificial neural networks (ANNs).

The one or more processors may be further configured to generate avirtual fake fingerprint embedding vector by inputting the enrollmentfingerprint image to an artificial neural network (ANN).

The apparatus may further include: a sensor configured to receive aninput fingerprint image, wherein the one or more processors are furtherconfigured to determine whether an input fingerprint included in theinput fingerprint image is a fake fingerprint based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, the virtual enrollment fingerprintembedding vector, and the virtual fake fingerprint embedding vector.

In another general aspect, an apparatus includes: a sensor configured toreceive an input fingerprint image; and one or more processorsconfigured to determine whether an input fingerprint included in theinput fingerprint image is a fake fingerprint, based on a fakefingerprint embedding vector, an enrollment fingerprint embeddingvector, and a virtual enrollment fingerprint embedding vector that areprovided in advance, wherein the enrollment fingerprint embedding vectoris obtained based on an enrollment fingerprint image, and the virtualenrollment fingerprint embedding vector is generated by inputting theenrollment fingerprint image to an artificial neural network (ANN).

The virtual enrollment fingerprint embedding vector may be generated tohave an environmental characteristic different from an environmentalcharacteristic of the enrollment fingerprint image and maintain astructural characteristic of the enrollment fingerprint image.

The one or more processors may be further configured to: obtain an inputfingerprint embedding vector corresponding to the input fingerprintimage; determine a confidence value of the input fingerprint embeddingvector based on the fake fingerprint embedding vector, the enrollmentfingerprint embedding vector, and the virtual enrollment fingerprintembedding vector; and determine, based on the confidence value, whetherthe input fingerprint input fingerprint image is the fake fingerprint.

In another general aspect, a processor-implemented method includes:obtaining an enrollment fingerprint embedding vector corresponding to anenrollment fingerprint image; generating a first virtual enrollmentfingerprint embedding vector having a structural characteristic of theenrollment fingerprint image and an environmental characteristiccorresponding to a dry fingerprint; and generating a second virtualenrollment fingerprint embedding vector having the structuralcharacteristic of the enrollment fingerprint image and an environmentalcharacteristic corresponding to a wet fingerprint.

The method may further include: receiving an input fingerprint image;and determining whether an input fingerprint included in the inputfingerprint image is a fake fingerprint based on a fake fingerprintembedding vector stored in a database, the enrollment fingerprintembedding vector, the first virtual enrollment fingerprint embeddingvector, and the second virtual enrollment fingerprint embedding vector.

The generating of the first virtual enrollment fingerprint embeddingvector may include generating the first virtual enrollment fingerprintembedding vector by inputting the enrollment fingerprint image to afirst artificial neural network (ANN). The generating of the secondvirtual enrollment fingerprint embedding vector may include generatingthe second virtual enrollment fingerprint embedding vector by inputtingthe enrollment fingerprint image to a second ANN.

The method may further include: generating a virtual fake fingerprintembedding vector by inputting the enrollment fingerprint image to athird ANN; receiving an input fingerprint image; and determining whetheran input fingerprint included in the input fingerprint image is a fakefingerprint, based on a fake fingerprint embedding vector stored in adatabase, the enrollment fingerprint embedding vector, the first virtualenrollment fingerprint embedding vector, the second virtual enrollmentfingerprint embedding vector, and the virtual fake fingerprint embeddingvector.

Other features and aspects will be apparent from the following detaileddescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example of biometric information recognition.

FIGS. 2A and 2B illustrate examples of a change in a performance of afake fingerprint detection apparatus depending on an environmentalchange.

FIG. 3 illustrates an example of generating a virtual enrollmentfingerprint embedding vector.

FIG. 4 illustrates an example of determining whether a fingerprint isforged, based on a virtual fake fingerprint embedding vector.

FIGS. 5A through 5C illustrate examples of generating a virtualenrollment fingerprint embedding vector.

FIG. 6 illustrates example operations each of an image generator and anembedding vector generator.

FIG. 7 is a flowchart illustrating an example of fake fingerprintdetection.

FIGS. 8A and 8B illustrates examples of determining whether an inputfingerprint image is forged.

FIG. 9 is a block diagram illustrating an example of an apparatus withfake fingerprint detection.

Throughout the drawings and the detailed description, unless otherwisedescribed or provided, the same drawing reference numerals will beunderstood to refer to the same elements, features, and structures. Thedrawings may not be to scale, and the relative size, proportions, anddepiction of elements in the drawings may be exaggerated for clarity,illustration, and convenience.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader ingaining a comprehensive understanding of the methods, apparatuses,and/or systems described herein. However, various changes,modifications, and equivalents of the methods, apparatuses, and/orsystems described herein will be apparent after an understanding of thedisclosure of this application. For example, the sequences of operationsdescribed herein are merely examples, and are not limited to those setforth herein, but may be changed as will be apparent after anunderstanding of the disclosure of this application, with the exceptionof operations necessarily occurring in a certain order. Also,descriptions of features that are known in the art may be omitted forincreased clarity and conciseness.

The features described herein may be embodied in different forms, andare not to be construed as being limited to the examples describedherein. Rather, the examples described herein have been provided merelyto illustrate some of the many possible ways of implementing themethods, apparatuses, and/or systems described herein that will beapparent after an understanding of the disclosure of this application.

Herein, it is noted that use of the term “may” with respect to anembodiment or example, e.g., as to what an embodiment or example mayinclude or implement, means that at least one embodiment or exampleexists in which such a feature is included or implemented while allexamples and examples are not limited thereto.

Throughout the specification, when an element, such as a layer, region,or substrate, is described as being “on,” “connected to,” or “coupledto” another element, it may be directly “on,” “connected to,” or“coupled to” the other element, or there may be one or more otherelements intervening therebetween. In contrast, when an element isdescribed as being “directly on,” “directly connected to,” or “directlycoupled to” another element, there can be no other elements interveningtherebetween.

As used herein, the term “and/or” includes any one and any combinationof any two or more of the associated listed items.

Although terms such as “first,” “second,” and “third” may be used hereinto describe various members, components, regions, layers, or sections,these members, components, regions, layers, or sections are not to belimited by these terms. Rather, these terms are only used to distinguishone member, component, region, layer, or section from another member,component, region, layer, or section. Thus, a first member, component,region, layer, or section referred to in examples described herein mayalso be referred to as a second member, component, region, layer, orsection without departing from the teachings of the examples.

Spatially relative terms such as “above,” “upper,” “below,” and “lower”may be used herein for ease of description to describe one element'srelationship to another element as illustrated in the figures. Suchspatially relative terms are intended to encompass differentorientations of the device in use or operation in addition to theorientation depicted in the figures. For example, if the device in thefigures is turned over, an element described as being “above” or “upper”relative to another element will then be “below” or “lower” relative tothe other element. Thus, the term “above” encompasses both the above andbelow orientations depending on the spatial orientation of the device.The device may also be oriented in other ways (for example, rotated 90degrees or at other orientations), and the spatially relative terms usedherein are to be interpreted accordingly.

The terminology used herein is for describing various examples only, andis not to be used to limit the disclosure. The articles “a,” “an,” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. The terms “comprises,” “includes,”and “has” specify the presence of stated features, numbers, operations,members, elements, and/or combinations thereof, but do not preclude thepresence or addition of one or more other features, numbers, operations,members, elements, and/or combinations thereof.

The features of the examples described herein may be combined in variousways as will be apparent after gaining an understanding of thedisclosure of this application. Further, although the examples describedherein have a variety of configurations, other configurations arepossible as will be apparent after an understanding of the disclosure ofthis application.

Unless otherwise defined herein, all terms used herein includingtechnical or scientific terms have the same meanings as those generallyunderstood. Terms defined in dictionaries generally used should beconstrued to have meanings matching with contextual meanings in therelated art and are not to be construed as an ideal or excessivelyformal meaning unless otherwise defined herein.

Examples described herein may be implemented as various forms ofproducts including, for example, a personal computer (PC), a laptopcomputer, a tablet computer, a smartphone, a television (TV), a smarthome appliance, an intelligent vehicle, a kiosk, or a wearable device.

FIG. 1 illustrates an example of biometric information recognition. Inthe following description, for convenience of description, biometricinformation is assumed to be a fingerprint. However, examples describedherein may be equally applicable to a variety of biometric informationthat may be recognized in a form of an image, for example, a vein or aniris.

Referring to FIG. 1, a fingerprint recognition apparatus 100 mayinclude, for example, a fingerprint sensor 110 configured to sense afingerprint of a user. The fingerprint recognition apparatus 100 mayobtain an input fingerprint image 115 representing the fingerprint ofthe user, using the fingerprint sensor 110.

Fingerprint enrollment may be performed to recognize a fingerprint.Enrollment fingerprint images 121, 122, and 123 may be stored in advancein an enrollment fingerprint database (DB) 120 through a fingerprintenrollment process. The enrollment fingerprint DB 120 may be stored in amemory included in the fingerprint recognition apparatus 100, or anexternal device such as a server that may communicate with thefingerprint recognition apparatus 100.

For example, when the fingerprint recognition apparatus 100 receives theinput fingerprint image 115 for authentication, the fingerprintrecognition apparatus 100 may recognize the fingerprint of the user bycomparing a fingerprint (hereinafter, an “input fingerprint”) includedin the input fingerprint image 115 to enrollment fingerprints shown inthe enrollment fingerprint images 121 through 123.

When a fake fingerprint is sensed in the input fingerprint image 115 andwhen the input fingerprint image 115 and the enrollment fingerprintimage 123 have similar fingerprint patterns, authentication of the fakefingerprint may be likely to succeed. To remedy such misrecognition, aprocess of determining whether the input fingerprint of the inputfingerprint image 115 is a fake fingerprint or a real fingerprint of aperson is required. Depending on examples, the fingerprint recognitionapparatus 100 may include an apparatus for detecting a fake fingerprint,hereinafter referred to as a “fake fingerprint detection apparatus”, todetermine whether the input fingerprint is a fake fingerprint using thefake fingerprint detection apparatus.

A fake fingerprint detector according to a related art is designed basedon a training DB provided in advance. In other words, a fake fingerprintdetector implemented by a neural network may be trained using thetraining DB, so that a real fingerprint and a fake fingerprint may bedistinguished. However, a performance of the fake fingerprint detectordesigned based on the training DB may be decreased due to a differencebetween biometric features (for example, a crack of a fingerprint, or arelatively pale fingerprint) based on actual users. Since biometricinformation used to train the neural network is not used forauthentication, the performance may decrease in a situation in which itis difficult to train the neural network. Furthermore, when a newvulnerability related to detection of a fake fingerprint is discovered,the neural network may need to be retrained and, accordingly, anemergency response may be difficult.

To solve the above problems, the fake fingerprint detection apparatusmay determine whether the input fingerprint is a fake fingerprint, basedon the enrollment fingerprint images 121 through 123. When the fakefingerprint determination apparatus determines whether the inputfingerprint is a fake fingerprint based on the enrollment fingerprintimages 121 through 123, the fake fingerprint detection apparatus mayreflect biological features of a corresponding user, thereby enhancingperformance of fake fingerprint determination.

Although most users tend to enroll fingerprint information in a normalfingerprint condition at room temperature, it is not guaranteed that afingerprint is input under a normal condition in actual fingerprintauthentication. For example, fingerprint authentication may be likely tobe performed in various environments, such as a dry environmentresulting in a dry fingerprint, a wet environment resulting in a wetfingerprint, or a low-temperature environment. An image of a fingerprintmay tend to significantly change depending on the above environmentalchanges. Accordingly, when an environment changes, the input fingerprintimage 115 may become different from the enrollment fingerprint images121 through 123, which may lead to a decrease in a performance of thefake fingerprint detector using fingerprint information.

FIGS. 2A and 2B illustrate examples of a change in a performance of afake fingerprint detection apparatus depending on an environmentalchange.

Referring to FIG. 2A, fingerprint images 200 are real fingerprint imagesof a person, and fingerprint images 210 are fake fingerprint images.

An image state of a fingerprint may tend to greatly vary depending on acapturing environment. For example, the real fingerprint images 200 mayinclude a real fingerprint image 201 representing a normal fingerprint,a real fingerprint image 203 representing a dry fingerprint, and a realfingerprint image 205 representing a wet fingerprint may have differentcharacteristics. Also, the fake fingerprint images 210 may include afake fingerprint image 211 representing a fingerprint forged usingsilicon, a fake fingerprint image 213 representing a fingerprint forgedusing wood glue, and a fake fingerprint image 215 representing afingerprint forged using gelatin may have different characteristics.

The real fingerprint image 203 may have characteristics similar to thoseof the fake fingerprint image 213, and the real fingerprint image 205may have characteristics similar to those of the fake fingerprint image215.

Referring to FIG. 2B, the fake fingerprint detection apparatus maydetermine whether an input fingerprint image is forged, based on anenrollment fingerprint image 250 and a fake fingerprint image 260.Enrollment fingerprint images 250 may be fingerprint images generated byusers enrolling fingerprints in a first environment state. The firstenvironment state may be, for example, a normal fingerprint condition atroom temperature.

It may be determined whether fingerprint images are similar based onwhether embedding vectors corresponding to the fingerprint images aresimilar. An embedding vector may include information used to distinguishauthentication elements, and may include, for example, a componentcompressed and required for authentication in a fingerprint image. Theembedding vector may be referred to as a “feature vector.”

The fake fingerprint detection apparatus may receive an inputfingerprint image and generate an input embedding vector from the inputfingerprint image. The input embedding vector may compress a componentrequired for authentication in the input fingerprint image and includethe compressed component.

The fake fingerprint detection apparatus may obtain an enrollmentfingerprint embedding vector corresponding to an enrollment fingerprintimage, and a fake fingerprint embedding vector corresponding to a fakefingerprint image. The fake fingerprint embedding vector may be anembedding vector corresponding to a fake fingerprint training DB in aneural network trained based on a plurality of unspecified fingerprinttraining DBs provided in advance.

The fake fingerprint detection apparatus may determine whether an inputfingerprint embedding vector is forged based on the enrollmentfingerprint embedding vector and the fake fingerprint embedding vector.For example, when a confidence value of an input fingerprint embeddingvector is greater than or equal to a predetermined threshold, the fakefingerprint detection apparatus may determine an input fingerprint to bea real fingerprint. When the confidence value is less than thethreshold, the fake fingerprint detection apparatus may determine theinput fingerprint to be a fake fingerprint.

In an example, the fake fingerprint detection apparatus may receive areal fingerprint image 230 representing a normal fingerprint as an inputfingerprint image and may determine whether an input fingerprintincluded in the real fingerprint image 230 is a fake fingerprint. Forexample, the fake fingerprint detection apparatus may determine that theinput fingerprint in the real fingerprint image 230 is a realfingerprint of a person, not a fake fingerprint, because an inputfingerprint embedding vector 235 corresponding to the real fingerprintimage 230 is similar to an enrollment fingerprint embedding vector 255corresponding to an enrollment fingerprint image 250 rather than a fakefingerprint embedding vector 265 corresponding to a fake fingerprintimage 260.

In another example, the fake fingerprint detection apparatus may receivea real fingerprint image 240 representing a dry fingerprint as an inputfingerprint image and may determine whether an input fingerprintincluded in the real fingerprint image 240 is a fake fingerprint. Forexample, the fake fingerprint detection apparatus may incorrectlydetermine that the input fingerprint in the real fingerprint image 240is a fake fingerprint, because an input fingerprint embedding vector 245corresponding to the real fingerprint image 240 is similar to the fakefingerprint embedding vector 265 corresponding to the fake fingerprintimage 260 rather than the enrollment fingerprint embedding vector 255corresponding to the enrollment fingerprint image 250.

As described above, since fingerprint enrollment is performed only oncein a predetermined environment, the fake fingerprint detection apparatusmay incorrectly determine a real fingerprint of a person to be a fakefingerprint in an environment different from an environment at a pointin time of enrollment. Hereinafter, fake fingerprint determination basedon a virtual enrollment fingerprint embedding vector generated based onan enrollment fingerprint image will be described with reference toFIGS. 3 through 8B. The fake fingerprint detection apparatus may inputan enrollment fingerprint image of a normal fingerprint to an artificialneural network (ANN) capable of changing a condition of a fingerprint toa dry condition, a wet condition or a low temperature condition, forexample, may generate a virtual enrollment image that has a changedenvironmental characteristic while maintaining a structuralcharacteristic, and may use the virtual enrollment image to determinewhether an input fingerprint is a fake fingerprint.

FIG. 3 illustrates an example of generating a virtual enrollmentfingerprint embedding vector.

Referring to FIG. 3, operations 310 and 320 may be performed by the fakefingerprint detection apparatus described above with reference toFIG. 1. The fake fingerprint detection apparatus may be implemented byone or more hardware modules, one or more software modules, or variouscombinations of hardware and software modules.

In operation 310, the fake fingerprint detection apparatus obtains anenrollment fingerprint embedding vector corresponding to an enrollmentfingerprint image. For example, in an enrollment operation, the fakefingerprint detection apparatus may obtain an enrollment fingerprintembedding vector corresponding to at least one enrollment fingerprintimage. The enrollment fingerprint embedding vector may be stored inadvance in the enrollment fingerprint DB 120 of FIG. 1.

The fake fingerprint detection apparatus may assume fingerprintsincluded in all enrollment fingerprint images to be real fingerprintsand may generate an enrollment fingerprint embedding vectorcorresponding to each enrollment fingerprint image. The fake fingerprintdetection apparatus may obtain an enrollment embedding vectorcorresponding to an enrollment fingerprint image using an embeddingvector extractor, and may store the enrollment embedding vector in theenrollment fingerprint DB 120.

In operation 320, the fake fingerprint detection apparatus may generatea virtual enrollment fingerprint embedding vector by inputting theenrollment fingerprint image to an ANN. The ANN may be trained so thatthe virtual enrollment fingerprint embedding vector may have anenvironmental characteristic different from that of the enrollmentfingerprint image while maintaining a structural characteristic of theenrollment fingerprint image. The structural characteristic of theenrollment fingerprint image may be an unchanged identity such as ashape of the enrollment fingerprint image. The environmentalcharacteristic of the enrollment fingerprint image may refer to variousenvironmental characteristics of an environment when a fingerprint isenrolled, for example, a dry fingerprint characteristic, a wetfingerprint characteristic, or a fingerprint characteristic under a lowtemperature condition.

The fake fingerprint detection apparatus may input the enrollmentfingerprint image to the ANN, and may generate at least one virtualenrollment fingerprint embedding vector having an environmentalcharacteristic different from that of the enrollment fingerprint imagewhile maintaining the structural characteristic of the enrollmentfingerprint image.

In addition, since an operation of generating a virtual enrollmentfingerprint embedding vector is performed during a fingerprintenrollment process, not an authentication process, a time forcomputation in the authentication process may not be significantlyincreased, and robustness against environmental changes may be enhanced.

FIG. 4 illustrates an example of determining whether a fingerprint isforged, based on a virtual fake fingerprint embedding vector.

Referring to FIG. 4, a fake fingerprint detection apparatus determineswhether an input fingerprint image is forged, based on virtualenrollment fingerprint images 410 and 420 in addition to an enrollmentfingerprint image 250 and a fake fingerprint image 260. For example, thefake fingerprint detection apparatus may determine whether an inputfingerprint embedding vector is forged, based on a dry-condition virtualenrollment fingerprint embedding vector 415 corresponding to a virtualenrollment fingerprint image 410 representing a dry fingerprint, and awet-condition virtual enrollment fingerprint embedding vector 425corresponding to a virtual enrollment fingerprint image 420 representinga wet fingerprint, in addition to an enrollment fingerprint embeddingvector 255 and a fake fingerprint embedding vector 265.

Also, the fake fingerprint detection apparatus may input the enrollmentfingerprint image 250 to an ANN, and may generate a virtual fakefingerprint embedding vector 455 having a characteristic of a fakefingerprint, for example, silicon, wood glue, or gelatin, whilemaintaining a structural characteristic of the enrollment fingerprintimage 250. The fake fingerprint detection apparatus may further use thevirtual fake fingerprint embedding vector 455 to enhance a performanceof determining whether the input fingerprint image is forged.

For example, the fake fingerprint detection apparatus may receive a realfingerprint image 240 representing a dry fingerprint as an inputfingerprint image, and may determine whether an input fingerprintincluded in the real fingerprint image 240 is a fake fingerprint.Referring to FIG. 2B, when the enrollment fingerprint image 250 and thefake fingerprint image 260 are used, the input fingerprint in the realfingerprint image 240 may be incorrectly determined as a fakefingerprint. However, since the input fingerprint embedding vector 245corresponding to the real fingerprint image 240 is most similar to thedry-condition virtual enrollment fingerprint embedding vector 415corresponding to the virtual enrollment fingerprint image 410, the fakefingerprint detection apparatus may determine the input fingerprintincluded in the input fingerprint embedding vector 245 corresponding tothe real fingerprint image 240 as a real fingerprint of a person, not afake fingerprint. An example of generating a virtual enrollmentfingerprint embedding vector will be further described below withreference to FIGS. 5A through 6.

FIGS. 5A through 5C illustrate examples of generating a virtualenrollment fingerprint embedding vector.

Referring to FIG. 5A, a fake fingerprint detection apparatus maygenerate virtual enrollment fingerprint images 410 and 420 by inputtingan enrollment fingerprint image 500 to an image generator 510constructed with the above-described ANN.

The fake fingerprint detection apparatus may input the virtualenrollment fingerprint image 410 representing a dry fingerprint to anembedding vector extractor 515, and may generate a dry-condition virtualenrollment fingerprint embedding vector set that includes at least onevirtual enrollment fingerprint embedding vector corresponding to the dryfingerprint. Similarly, the fake fingerprint detection apparatus mayinput the virtual enrollment fingerprint image 420 representing a wetfingerprint to the embedding vector extractor 515, and may generate awet-condition virtual enrollment fingerprint embedding vector set thatincludes at least one virtual enrollment fingerprint embedding vectorcorresponding to the wet fingerprint.

The fake fingerprint detection apparatus may construct a virtualenrollment fingerprint embedding vector model 521 based on the generateddry-condition virtual enrollment fingerprint embedding vector set andthe generated wet-condition virtual enrollment fingerprint embeddingvector set.

Also, the fake fingerprint detection apparatus may input the enrollmentfingerprint image 500 to the embedding vector extractor 515, maygenerate an enrollment fingerprint embedding vector, and may constructan enrollment fingerprint embedding vector model 522 based on theenrollment fingerprint embedding vector. The virtual enrollmentfingerprint embedding vector model 521 and the enrollment fingerprintembedding vector model 522 may be stored in the enrollment fingerprintDB 120 of FIG. 1.

Referring to FIG. 5B, the fake fingerprint detection apparatus may inputthe enrollment fingerprint image 500 to the image generator 510, tofurther generate a virtual fake fingerprint image 530. The fakefingerprint detection apparatus may determine whether an inputfingerprint image is forged, based on the virtual fake fingerprint image530 that maintains a structural characteristic of the enrollmentfingerprint image 500, and accordingly a performance of determiningwhether an input fingerprint image is forged may be enhanced.

The fake fingerprint detection apparatus may input the virtual fakefingerprint image 530 to the embedding vector extractor 515, and maygenerate a virtual fake fingerprint embedding vector set including atleast one virtual fake fingerprint embedding vector, and may construct avirtual fake fingerprint embedding vector model 523 based on the virtualfake fingerprint embedding vector set.

Referring to FIG. 5C, the fake fingerprint detection apparatus maygenerate a virtual enrollment fingerprint embedding vector directly fromthe enrollment fingerprint image 500, instead of generating a virtualenrollment fingerprint image. The fake fingerprint detection apparatusmay input the enrollment fingerprint image 500 to an embedding vectorgenerator 540 constructed with the above-described ANN, and may generatea plurality of virtual enrollment fingerprint embedding vector setshaving different environmental characteristics. The fake fingerprintdetection apparatus may construct the virtual enrollment fingerprintembedding vector model 521 based on the plurality of virtual enrollmentfingerprint embedding vector sets (for example, a dry-condition virtualenrollment fingerprint embedding vector set, and a wet-condition virtualenrollment fingerprint embedding vector set).

Also, the fake fingerprint detection apparatus may input the enrollmentfingerprint image 500 to the embedding vector generator 540, maygenerate a virtual fake fingerprint embedding vector set including atleast one virtual fake fingerprint embedding vector, and may constructthe virtual fake fingerprint embedding vector model 523 based on thevirtual fake fingerprint embedding vector set. Example operations of theimage generator 510 and the embedding vector generator 540 will befurther described below with reference to FIG. 6.

FIG. 6 illustrates example operations of each of an image generator 510and the embedding vector generator 540.

Referring to FIG. 6, the image generator 510 and the embedding vectorgenerator 540 may operate based on the same principle. For convenienceof description, description is given based on an operation of the imagegenerator 510.

The image generator 510 may be implemented by an ANN, and the ANN may betrained so that a virtual enrollment fingerprint image may have anenvironmental characteristic different from that of an enrollmentfingerprint image 600 while maintaining a structural characteristic ofthe enrollment fingerprint image 600.

The ANN may include a G generator 610, an F generator 630, a Ddiscriminator 660, and a C discriminator 670. The ANN may generatedesired output data without a pair of training data.

The G generator 610 may convert the enrollment fingerprint image 600into a virtual enrollment fingerprint image 620, and the F generator 630may restore the virtual enrollment fingerprint image 620 to anenrollment fingerprint image. The ANN may determine a model parameterthat minimizes a difference between an enrollment fingerprint image 640restored in a training operation and the original enrollment fingerprintimage 600.

The D discriminator 660 may function to allow the virtual enrollmentfingerprint image 620 to have a desired environmental characteristic.The D discriminator 660 may be trained so that the virtual enrollmentfingerprint image 620 may have a predetermined environmentalcharacteristic based on fingerprint images 650 having predeterminedenvironmental characteristics. For example, to train the virtualenrollment fingerprint image 620 as a virtual enrollment fingerprintimage representing a dry fingerprint, the ANN may determine a modelparameter that minimizes a difference between fingerprint imagesrepresenting dry fingerprints and the virtual enrollment fingerprintimage 620.

The C discriminator 670 may function to allow the virtual enrollmentfingerprint image 620 to have a characteristic of a real fingerprintimage, not a fake fingerprint image. As described above, the realfingerprint image 203 representing the dry fingerprint and the fakefingerprint image 213 representing the fingerprint forged using the woodglue may have similar characteristics, and the real fingerprint image205 representing the wet fingerprint and the fake fingerprint image 215representing the fingerprint forged using the gelatin may have similarcharacteristics. Accordingly, the C discriminator 670 may determine amodel parameter that minimizes a difference between the virtualenrollment fingerprint image 620 and a real fingerprint image.

The ANN may be trained in order to determine a model parameter thatminimizes a loss function. The loss function may be used as an indicatorto determine an optimal model parameter in a process of training theANN. A model parameter may be a parameter determined through training,and may include a weight of a synaptic connection (activation function)or a bias of a neuron (node). Also, a hyperparameter may be a parameterthat needs to be set before learning in a machine learning algorithm,and may include a learning rate, a number of repetitions, a mini-batchsize, or an initialization function. The loss function may be expressedas shown in Equation 1 below.

Loss=Loss_(GAN)(G,D,I _(E) ,I _(V))+Loss_(GAN)(F,D,I _(V) ,I_(E))+λ₁Loss_(cycle)(G,F)+λ₂Loss_(AS)(G,F)  Equation 1

In Equation 1, I_(E) is the enrollment fingerprint image 600, I_(V) isthe virtual enrollment fingerprint image 620, G is a function ofconverting the enrollment fingerprint image 600 into the virtualenrollment fingerprint image 620, F is a function of converting thevirtual enrollment fingerprint image 620 into the restored enrollmentfingerprint image 640, and D is a discriminator that determines whetherthe virtual enrollment fingerprint image 620 has a predeterminedenvironmental characteristic.

FIG. 7 is a flowchart illustrating an example of detecting a fakefingerprint.

Referring to FIG. 7, operations 710 and 720 may be performed by thefingerprint recognition apparatus 100 described above with reference toFIG. 1. The fingerprint recognition apparatus 100 may be implemented byone or more hardware modules, one or more software modules, or variouscombinations of hardware and software modules.

In operation 710, the fingerprint recognition apparatus 100 receives aninput fingerprint image.

In operation 720, the fingerprint recognition apparatus 100 maydetermine whether an input fingerprint included in the input fingerprintimage is a fake fingerprint, based on a fake fingerprint embeddingvector, an enrollment fingerprint embedding vector, and a virtualenrollment fingerprint embedding vector that are provided in advance.The enrollment fingerprint embedding vector and the virtual enrollmentfingerprint embedding vector may be stored in the enrollment fingerprintDB 120 in advance in an enrollment operation. For example, thefingerprint recognition apparatus 100 of FIG. 1 may performauthentication based on a result of the determining of whether the inputfingerprint is a fake fingerprint, and may determine whether to providea user access to one or more features or operations of the fingerprintrecognition apparatus 100, based on a result of the authentication. Forexample, the fingerprint recognition apparatus 100 may provide the useraccess to the one or more features or operations of the fingerprintrecognition apparatus 100 if it is determined that the input fingerprintis not a fake fingerprint, and may deny the user access to the one ormore features or operations of the fingerprint recognition apparatus 100if it is determined that the input fingerprint is a fake fingerprint.

An example of determining whether an input fingerprint image is forgedwill be further described below with reference to FIGS. 8A and 8B.

FIGS. 8A and 8B illustrates examples of determining whether an inputfingerprint image is forged.

Referring to FIG. 8A, a fake fingerprint detection apparatus may inputan input fingerprint image 800 to an embedding vector extractor 810, andmay generate an input embedding vector 815.

The fake fingerprint detection apparatus may determine whether the inputembedding vector 815 is forged, based on an enrollment fingerprintembedding vector model 820, a virtual enrollment fingerprint embeddingvector model 830, a virtual fake fingerprint embedding vector model 840,and a fake fingerprint embedding vector model 850. Descriptions of theenrollment fingerprint embedding vector model 522, the virtualenrollment fingerprint embedding vector model 521, and the virtual fakefingerprint embedding vector model 523 of FIGS. 5A through 5C areapplicable to the enrollment fingerprint embedding vector model 820, thevirtual enrollment fingerprint embedding vector model 830, and thevirtual fake fingerprint embedding vector model 840 of FIG. 8A.Accordingly, further descriptions of operations of the enrollmentfingerprint embedding vector model 820, the virtual enrollmentfingerprint embedding vector model 830, the virtual fake fingerprintembedding vector model 840, and the fake fingerprint embedding vectormodel 850 are not repeated herein.

Referring to FIG. 8B, a similarity with the input embedding vector 815may be calculated based on, for example, a cosine similarity or adistance between the input embedding vector 815 and any one or anycombination of any two or more of an enrollment fingerprint embeddingvector, a virtual enrollment fingerprint embedding vector, a fakefingerprint embedding vector, and virtual fake fingerprint data. Inaddition, various types of similarity calculation schemes may beapplied.

In an example, the fake fingerprint detection apparatus may estimate aposterior probability between the input embedding vector 815 and any oneor any combination of the enrollment fingerprint embedding vector, thevirtual enrollment fingerprint embedding vector, the fake fingerprintembedding vector, and the virtual fake fingerprint data, and maydetermine a confidence value of the input embedding vector 815 based onthe estimated posterior probability.

For example, the confidence value of the input embedding vector 815 maybe determined as shown in Equation 2 below.

Confidence=w1*First similarity+w2*Second similarity+w3*Thirdsimilarity+w4*Fourth similarity  Equation 2

In Equation 2, w1 and w2 may be positive numbers, and w3 and w4 may benegative numbers. When the confidence value of the input embeddingvector 815 is greater than or equal to a predetermined threshold, thefake fingerprint detection apparatus may determine an input fingerprintincluded in an input fingerprint image to be a real fingerprint. Whenthe confidence value of the input embedding vector 815 is less than thethreshold, the fake fingerprint detection apparatus may determine theinput fingerprint in the input fingerprint image to be a fakefingerprint.

Also, the fake fingerprint detection apparatus may determine whether theinput fingerprint image is forged, based on a real fingerprint embeddingvector. The real fingerprint embedding vector may be an embedding vectorcorresponding to a real fingerprint training DB in a neural networktrained based on a plurality of unspecified fingerprint training DBsprovided in advance. The fake fingerprint detection apparatus maydetermine an input fingerprint included in the input fingerprint imageas a real fingerprint when the input embedding vector 815 is similar tothe real fingerprint embedding vector.

FIG. 9 is a block diagram illustrating an example of a fake fingerprintdetection apparatus 900.

Referring to FIG. 9, the fake fingerprint detection apparatus 900 mayinclude a processor 910, a memory 930, a communication interface 950,and sensors 970. The processor 910, the memory 930, the communicationinterface 950, and the sensors 970 may communicate with each other via acommunication bus 905.

The processor 910 may obtain an enrollment fingerprint embedding vectorcorresponding to an enrollment fingerprint image, and may generate avirtual enrollment fingerprint embedding vector by inputting theenrollment fingerprint image to an ANN.

The memory 930 may include a DB configured to store an enrollmentfingerprint embedding vector and a virtual enrollment fingerprintembedding vector, and a DB configured to store real fingerprint data andfake fingerprint data. The memory 930 may be, for example, a volatilememory, or a non-volatile memory.

The sensors 970 may include, for example, a fingerprint sensorconfigured to sense a fingerprint of a user.

The processor 910 may obtain a virtual enrollment fingerprint image byinputting the enrollment fingerprint image to the ANN, and may generatea virtual enrollment fingerprint embedding vector corresponding to thevirtual enrollment fingerprint image

The processor 910 may generate a plurality of virtual enrollmentfingerprint embedding vector sets having different environmentalcharacteristics by inputting the enrollment fingerprint image to aplurality of ANNs.

The processor 910 may determine whether an input fingerprint included inthe input fingerprint image is a fake fingerprint, based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, and the virtual enrollment fingerprintembedding vector.

The processor 910 may generate a virtual fake fingerprint embeddingvector by inputting the enrollment fingerprint image to an ANN.

The processor 910 may determine whether an input fingerprint included inthe input fingerprint image is a fake fingerprint based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, the virtual enrollment fingerprintembedding vector, and the virtual fake fingerprint embedding vector.

In addition, the processor 910 may perform at least one of the methodsdescribed above with reference to FIGS. 2A through 8B or an algorithmcorresponding to at least one of the methods. The processor 910 mayexecute a program, and may control the fake fingerprint detectionapparatus 900. Code of the program executed by the processor 910 may bestored in the memory 930. The fake fingerprint detection apparatus 900may be connected to an external device (for example, a PC or a network)via an input/output device (not shown), and may exchange data with theexternal device. The fake fingerprint detection apparatus 900 may beincluded in various computing apparatuses and/or systems, for example, asmartphone, a tablet computer, a laptop computer, a desktop computer, aTV, a wearable device, a security system, or a smart home system. In anexample, the fake fingerprint detection apparatus 900 may alsocorrespond to the fingerprint recognition apparatus 100 of FIG. 1. TheANNs, the image generator 510, the embedding vector extractors 515 and810, the virtual enrollment fingerprint embedding vector models 521 and830, the enrollment fingerprint embedding vector models 522 and 820, thevirtual fake fingerprint embedding vector models 523 and 840, the fakefingerprint embedding vector model 850, the embedding vector generator540, the G generator 610, the F generator 630, the D discriminator 660,the C discriminator 670, the fake fingerprint detection apparatus 900,the communication bus 905, the processor 910, the memory 930, thecommunication interface 950, the fake fingerprint detection apparatuses,processors, and the memories in FIGS. 1-9 that perform the operationsdescribed in this application are implemented by hardware componentsconfigured to perform the operations described in this application thatare performed by the hardware components. Examples of hardwarecomponents that may be used to perform the operations described in thisapplication where appropriate include controllers, sensors, generators,drivers, memories, comparators, arithmetic logic units, adders,subtractors, multipliers, dividers, integrators, and any otherelectronic components configured to perform the operations described inthis application. In other examples, one or more of the hardwarecomponents that perform the operations described in this application areimplemented by computing hardware, for example, by one or moreprocessors or computers. A processor or computer may be implemented byone or more processing elements, such as an array of logic gates, acontroller and an arithmetic logic unit, a digital signal processor, amicrocomputer, a programmable logic controller, a field-programmablegate array, a programmable logic array, a microprocessor, or any otherdevice or combination of devices that is configured to respond to andexecute instructions in a defined manner to achieve a desired result. Inone example, a processor or computer includes, or is connected to, oneor more memories storing instructions or software that are executed bythe processor or computer. Hardware components implemented by aprocessor or computer may execute instructions or software, such as anoperating system (OS) and one or more software applications that run onthe OS, to perform the operations described in this application. Thehardware components may also access, manipulate, process, create, andstore data in response to execution of the instructions or software. Forsimplicity, the singular term “processor” or “computer” may be used inthe description of the examples described in this application, but inother examples multiple processors or computers may be used, or aprocessor or computer may include multiple processing elements, ormultiple types of processing elements, or both. For example, a singlehardware component or two or more hardware components may be implementedby a single processor, or two or more processors, or a processor and acontroller. One or more hardware components may be implemented by one ormore processors, or a processor and a controller, and one or more otherhardware components may be implemented by one or more other processors,or another processor and another controller. One or more processors, ora processor and a controller, may implement a single hardware component,or two or more hardware components. A hardware component may have anyone or more of different processing configurations, examples of whichinclude a single processor, independent processors, parallel processors,single-instruction single-data (SISD) multiprocessing,single-instruction multiple-data (SIMD) multiprocessing,multiple-instruction single-data (MISD) multiprocessing, andmultiple-instruction multiple-data (MIMD) multiprocessing.

The methods illustrated in FIGS. 1-9 that perform the operationsdescribed in this application are performed by computing hardware, forexample, by one or more processors or computers, implemented asdescribed above executing instructions or software to perform theoperations described in this application that are performed by themethods. For example, a single operation or two or more operations maybe performed by a single processor, or two or more processors, or aprocessor and a controller. One or more operations may be performed byone or more processors, or a processor and a controller, and one or moreother operations may be performed by one or more other processors, oranother processor and another controller. One or more processors, or aprocessor and a controller, may perform a single operation, or two ormore operations.

Instructions or software to control computing hardware, for example, oneor more processors or computers, to implement the hardware componentsand perform the methods as described above may be written as computerprograms, code segments, instructions or any combination thereof, forindividually or collectively instructing or configuring the one or moreprocessors or computers to operate as a machine or special-purposecomputer to perform the operations that are performed by the hardwarecomponents and the methods as described above. In one example, theinstructions or software include machine code that is directly executedby the one or more processors or computers, such as machine codeproduced by a compiler. In another example, the instructions or softwareincludes higher-level code that is executed by the one or moreprocessors or computer using an interpreter. The instructions orsoftware may be written using any programming language based on theblock diagrams and the flow charts illustrated in the drawings and thecorresponding descriptions in the specification, which disclosealgorithms for performing the operations that are performed by thehardware components and the methods as described above.

The instructions or software to control computing hardware, for example,one or more processors or computers, to implement the hardwarecomponents and perform the methods as described above, and anyassociated data, data files, and data structures, may be recorded,stored, or fixed in or on one or more non-transitory computer-readablestorage media.

Examples of a non-transitory computer-readable storage medium includeread-only memory (ROM), random-access memory (RAM), flash memory,CD-ROMs, CD-Rs, CD+Rs, CD-RWs, CD+RWs, DVD-ROMs, DVD-Rs, DVD+Rs,DVD-RWs, DVD+RWs, DVD-RAMs, BD-ROMs, BD-Rs, BD-R LTHs, BD-REs, magnetictapes, floppy disks, magneto-optical data storage devices, optical datastorage devices, hard disks, solid-state disks, and any other devicethat is configured to store the instructions or software and anyassociated data, data files, and data structures in a non-transitorymanner and provide the instructions or software and any associated data,data files, and data structures to one or more processors or computersso that the one or more processors or computers can execute theinstructions. In one example, the instructions or software and anyassociated data, data files, and data structures are distributed overnetwork-coupled computer systems so that the instructions and softwareand any associated data, data files, and data structures are stored,accessed, and executed in a distributed fashion by the one or moreprocessors or computers.

While this disclosure includes specific examples, it will be apparentafter an understanding of the disclosure of this application thatvarious changes in form and details may be made in these exampleswithout departing from the spirit and scope of the claims and theirequivalents. The examples described herein are to be considered in adescriptive sense only, and not for purposes of limitation. Descriptionsof features or aspects in each example are to be considered as beingapplicable to similar features or aspects in other examples. Suitableresults may be achieved if the described techniques are performed in adifferent order, and/or if components in a described system,architecture, device, or circuit are combined in a different manner,and/or replaced or supplemented by other components or theirequivalents. Therefore, the scope of the disclosure is defined not bythe detailed description, but by the claims and their equivalents, andall variations within the scope of the claims and their equivalents areto be construed as being included in the disclosure.

What is claimed is:
 1. A processor-implemented method, comprising:obtaining an enrollment fingerprint embedding vector corresponding to anenrollment fingerprint image; and generating a virtual enrollmentfingerprint embedding vector, wherein the virtual enrollment fingerprintembedding vector has an environmental characteristic different from anenvironmental characteristic of the enrollment fingerprint image, andhas a structural characteristic of the enrollment fingerprint image. 2.The method of claim 1, further comprising: receiving an inputfingerprint image; and determining whether an input fingerprint includedin the input fingerprint image is a fake fingerprint based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, and the virtual enrollment fingerprintembedding vector.
 3. The method of claim 1, wherein the generating ofthe virtual enrollment fingerprint embedding vector comprises: obtaininga virtual enrollment fingerprint image by inputting the enrollmentfingerprint image to an artificial neural network (ANN); and generatingthe virtual enrollment fingerprint embedding vector corresponding to thevirtual enrollment fingerprint image.
 4. The method of claim 1, whereinthe generating of the virtual enrollment fingerprint embedding vectorcomprises generating a plurality of virtual enrollment fingerprintembedding vector sets having different environmental characteristics byinputting the enrollment fingerprint image to a plurality of artificialneural networks (ANNs).
 5. The method of claim 1, further comprising:generating a virtual fake fingerprint embedding vector by inputting theenrollment fingerprint image to an artificial neural network (ANN). 6.The method of claim 5, further comprising: receiving an inputfingerprint image; and determining whether an input fingerprint includedin the input fingerprint image is a fake fingerprint, based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, the virtual enrollment fingerprintembedding vector, and the virtual fake fingerprint embedding vector. 7.A non-transitory computer-readable storage medium storing instructionsthat, when executed by a processor, cause the processor to perform themethod of claim
 1. 8. A processor-implemented method, method comprising:receiving an input fingerprint image; and determining whether an inputfingerprint included in the input fingerprint image is a fakefingerprint, based on a fake fingerprint embedding vector, an enrollmentfingerprint embedding vector, and a virtual enrollment fingerprintembedding vector that are provided in advance, wherein the enrollmentfingerprint embedding vector is obtained based on an enrollmentfingerprint image, and the virtual enrollment fingerprint embeddingvector is generated by inputting the enrollment fingerprint image to anartificial neural network (ANN).
 9. The method of claim 8, wherein thevirtual enrollment fingerprint embedding vector is generated to have anenvironmental characteristic different from an environmentalcharacteristic of the enrollment fingerprint image and maintain astructural characteristic of the enrollment fingerprint image.
 10. Themethod of claim 8, further comprising: obtaining an input fingerprintembedding vector corresponding to the input fingerprint image, whereinthe determining of whether the input fingerprint is the fake fingerprintcomprises: determining a confidence value of the input fingerprintembedding vector based on the fake fingerprint embedding vector, theenrollment fingerprint embedding vector and the virtual enrollmentfingerprint embedding vector; and determining, based on the confidencevalue, whether the input fingerprint is the fake fingerprint.
 11. Themethod of claim 8, further comprising: performing user authenticationbased on a result of the determining of whether the input fingerprint isthe fake fingerprint; and determining whether to provide a user accessto one or more features or operations of an apparatus, based on a resultof the user authentication.
 12. A non-transitory computer-readablestorage medium storing instructions that, when executed by a processor,cause the processor to perform the method of claim
 8. 13. An apparatus,comprising: one or more processors configured to: obtain an enrollmentfingerprint embedding vector corresponding to an enrollment fingerprintimage; and generate a virtual enrollment fingerprint embedding vector,wherein the virtual enrollment fingerprint embedding vector has anenvironmental characteristic different from an environmentalcharacteristic of the enrollment fingerprint image, and has a structuralcharacteristic of the enrollment fingerprint image.
 14. The apparatus ofclaim 13, further comprising: a sensor configured to receive an inputfingerprint image, wherein the one or more processors are furtherconfigured to determine whether an input fingerprint included in theinput fingerprint image is a fake fingerprint, based on a fakefingerprint embedding vector that is provided in advance, the enrollmentfingerprint embedding vector, and the virtual enrollment fingerprintembedding vector.
 15. The apparatus of claim 13, wherein the one or moreprocessors are further configured to: obtain a virtual enrollmentfingerprint image by inputting the enrollment fingerprint image to anartificial neural network (ANN); and generate the virtual enrollmentfingerprint embedding vector corresponding to the virtual enrollmentfingerprint image.
 16. The apparatus of claim 13, wherein the one ormore processors are further configured to generate a plurality ofvirtual enrollment fingerprint embedding vector sets having differentenvironmental characteristics by inputting the enrollment fingerprintimage to a plurality of artificial neural networks (ANNs).
 17. Theapparatus of claim 13, wherein the one or more processors are furtherconfigured to generate a virtual fake fingerprint embedding vector byinputting the enrollment fingerprint image to an artificial neuralnetwork (ANN).
 18. The apparatus of claim 17, further comprising: asensor configured to receive an input fingerprint image, wherein the oneor more processors are further configured to determine whether an inputfingerprint included in the input fingerprint image is a fakefingerprint based on a fake fingerprint embedding vector that isprovided in advance, the enrollment fingerprint embedding vector, thevirtual enrollment fingerprint embedding vector, and the virtual fakefingerprint embedding vector.
 19. An apparatus, the apparatuscomprising: a sensor configured to receive an input fingerprint image;and one or more processors configured to determine whether an inputfingerprint included in the input fingerprint image is a fakefingerprint, based on a fake fingerprint embedding vector, an enrollmentfingerprint embedding vector, and a virtual enrollment fingerprintembedding vector that are provided in advance, wherein the enrollmentfingerprint embedding vector is obtained based on an enrollmentfingerprint image, and the virtual enrollment fingerprint embeddingvector is generated by inputting the enrollment fingerprint image to anartificial neural network (ANN).
 20. The apparatus of claim 19, whereinthe virtual enrollment fingerprint embedding vector is generated to havean environmental characteristic different from an environmentalcharacteristic of the enrollment fingerprint image and maintain astructural characteristic of the enrollment fingerprint image.
 21. Theapparatus of claim 19, wherein the one or more processors are furtherconfigured to: obtain an input fingerprint embedding vectorcorresponding to the input fingerprint image; determine a confidencevalue of the input fingerprint embedding vector based on the fakefingerprint embedding vector, the enrollment fingerprint embeddingvector, and the virtual enrollment fingerprint embedding vector; anddetermine, based on the confidence value, whether the input fingerprintinput fingerprint image is the fake fingerprint.
 22. Aprocessor-implemented method, comprising: obtaining an enrollmentfingerprint embedding vector corresponding to an enrollment fingerprintimage; generating a first virtual enrollment fingerprint embeddingvector having a structural characteristic of the enrollment fingerprintimage and an environmental characteristic corresponding to a dryfingerprint; and generating a second virtual enrollment fingerprintembedding vector having the structural characteristic of the enrollmentfingerprint image and an environmental characteristic corresponding to awet fingerprint.
 23. The method of claim 22, further comprising:receiving an input fingerprint image; and determining whether an inputfingerprint included in the input fingerprint image is a fakefingerprint based on a fake fingerprint embedding vector stored in adatabase, the enrollment fingerprint embedding vector, the first virtualenrollment fingerprint embedding vector, and the second virtualenrollment fingerprint embedding vector.
 24. The method of claim 22,wherein the generating of the first virtual enrollment fingerprintembedding vector comprises generating the first virtual enrollmentfingerprint embedding vector by inputting the enrollment fingerprintimage to a first artificial neural network (ANN), and wherein thegenerating of the second virtual enrollment fingerprint embedding vectorcomprises generating the second virtual enrollment fingerprint embeddingvector by inputting the enrollment fingerprint image to a second ANN.25. The method of claim 24, further comprising: generating a virtualfake fingerprint embedding vector by inputting the enrollmentfingerprint image to a third ANN; receiving an input fingerprint image;and determining whether an input fingerprint included in the inputfingerprint image is a fake fingerprint, based on a fake fingerprintembedding vector stored in a database, the enrollment fingerprintembedding vector, the first virtual enrollment fingerprint embeddingvector, the second virtual enrollment fingerprint embedding vector, andthe virtual fake fingerprint embedding vector.